package main

import "fmt"

/**
将指针作为函数参数
*/
func main() {
	var num int = 10
	update(num)
	fmt.Println(num)

	var numm int = 10
	var p *int
	p = &numm
	update2(p)
	fmt.Println(*p) //20

	var nummm int = 300
	update2(&nummm)    //传入一个地址值
	fmt.Println(nummm) //20
}

//不会修改原来的变量
func update(n int) {
	n = n + 1
	fmt.Println(n)
}

/**
修改原来的变量,现在我接收的是一个指针变量
*/
func update2(p *int) { //使用指针变量接收一个地址值,这样的话修改就能影响原来的变量
	*p = 20
}
